/*
 * nodelist.h
 *
 *  Created on: 15/11/2012
 *      Author: cvan680
 */

#ifndef MFTG_NODELIST_H_
#define MFTG_NODELIST_H_

using std::string;
using std::vector;

#include "techniquewrapper.h"
#include "node.h"

namespace voreen {

class NodeList {

public:
	NodeList();
	NodeList(string set);
	Node get(int index);
	int length();

	void replaceFirstOccurrence(NodeList pre, NodeList post);
	int indexOf(NodeList set);
	bool contains(NodeList set);

	void printMe();

private:
	vector<Node> nodes_;
	TechniqueMap tmap_;

	void unpack(string set);
};


}



#endif /* MFTG_NODELIST_H_ */
